import Vue from 'vue'
import Vuex from 'vuex'


var time = (new Date).getTime() - 24 * 60 * 60 * 1000;
var date = new Date(time);


// 获取当前月份
var nowMonth = date.getMonth() + 1;

// 获取当前是几号
var strDate = date.getDate();

// 添加分隔符“-”
var seperator = "-";

// 对月份进行处理，1-9月在前面添加一个“0”
if (nowMonth >= 1 && nowMonth <= 9) {
  nowMonth = "0" + nowMonth;
}

// 对月份进行处理，1-9号在前面添加一个“0”
if (strDate >= 0 && strDate <= 9) {
  strDate = "0" + strDate;
}

// 最后拼接字符串，得到一个格式为(yyyy-MM-dd)的日期
var nowDate = date.getFullYear() + seperator + nowMonth + seperator + strDate;
localStorage.setItem("nowDate", nowDate);

function fooPost () {
  let url = "https://sr.boss.i-town.cn/kuaibao/dailyOperationReport"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("lastname", json);
    }
  };
}


function tFn () {
  let url = "https://sr.boss.i-town.cn/kuaibao/ticketQuantity"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("ticList", json);
    }
  };
}

function hxFun () {
  let url = "https://sr.boss.i-town.cn/kuaibao/writeOffProportion"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("hxList", json);
    }
  };
}


function qdFun () {
  let url = "https://sr.boss.i-town.cn/kuaibao/hotSaleProduct"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("qdList", json);
    }
  };
}


function channeFun () {
  let url = "https://sr.boss.i-town.cn/kuaibao/channelProportion"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("channeList", json);
    }
  };
}



function fooPost2 () {
  let url = "https://sr.boss.i-town.cn/kuaibao/touristsSource"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss
  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.status === 200) {//验证请求是否发送成功

      var json = httpRequest.responseText;//获取到服务端返回的数据

      localStorage.setItem("aDlist", json);

      var GZData = [

        [
          {
            name: '张家口'
          },
          {
            name: '云南',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '香港',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '澳门',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '台湾',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '甘肃',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '陕西',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '西藏',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '天津',
            value: 80, num: '100'
          }
        ],

        [
          {
            name: '张家口'
          },
          {
            name: '贵州',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '四川',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '重庆',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '广东',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '广西',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '湖南',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '湖北',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '河南',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '青海',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '宁夏',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '江苏',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '安徽',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '福建',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '江西',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '山东',
            value: 80, num: '100'
          }
        ],

        [
          {
            name: '张家口'
          },
          {
            name: '上海',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '黑龙江',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '吉林',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '辽宁',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '内蒙古',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '山西',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '河北',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '浙江',
            value: 80, num: '100'
          }
        ],


        [
          {
            name: '张家口'
          },
          {
            name: '北京',
            value: 20
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '海南',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '北京',
            value: 80, num: '100'
          }
        ],
        [
          {
            name: '张家口'
          },
          {
            name: '新疆',
            value: 80, num: '100'
          }
        ],

      ]

      var listd = ""
      if (json) {
        listd = JSON.parse(json).data
      }

      for (var i = 0; i < listd.length; i++) {
        var idx = GZData[i]
        idx[0].name = '张家口'
        idx[1].name = listd[i].name
        idx[1].value = 80
        idx[1].num = listd[i].num
        idx[1].title = listd[i].title

      }
      // console.log('json', listd)
      // console.log(GZData)
      GZData[34][0].name = '张家口'
      GZData[34][1].name = '张家口'
      GZData[34][1].value = 80
      GZData[34][1].num = 35
      GZData[34][1].title = 1
      localStorage.setItem("aDlistnew", JSON.stringify(GZData));

    }
  };
}


function fooPostcur () {
  let url = "https://sr.boss.i-town.cn/kuaibao/dailyOperationReport"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: nowDate
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.readyState === 4 && httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("lastname", json);
    }
  };
}


function fooPostcurs2 () {
  let url = "https://sr.boss.i-town.cn/kuaibao/typeProportion"
  //第一步：创建需要的对象
  var httpRequest = new XMLHttpRequest();
  //第二步：打开连接 /***发送json格式文件必须设置请求头 ；如下 - */
  httpRequest.open('POST', url, true);
  //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
  httpRequest.setRequestHeader("Content-type", "application/json");
  const obj = {
    date: ''
  }
  httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中sss

  httpRequest.onreadystatechange = function () {//请求后的回调接口，可将请求成功后要执行的程序写在其中
    if (httpRequest.readyState === 4 && httpRequest.status === 200) {//验证请求是否发送成功
      //alert("post接口请求成功 ok")
      var json = httpRequest.responseText;//获取到服务端返回的数据
      localStorage.setItem("listSex", json);
      console.log(json)
    }
  };
}


// fooPostcurs2()
// fooPostcur()
// fooPost2()
// channeFun()
// qdFun()
// hxFun() //核销占比
// tFn() //购票情况
// fooPost() //营收 和 入园





Vue.use(Vuex);
const moduleA = {
  state: {
    m: 123
  }, mutations: {

  }, getters: {

  }, actions: {
    toDo (context) {
      return context.Store.m;
    }
  }
};
const moduleB = {
  state: {
    m: 456
  }, mutations: {

  }, getters: {

  }, actions: {
    toDo (context) {
      return context.Store.m;
    }
  }
};

const test = new Vuex.Store({
  modules: {   //分成多个模块
    a: moduleA, //store.state.a
    b: moduleB //store.state.b
  },
  state: {
    count: 12220
  },
  mutations: {
    increment (state, par1) {
      state.count++
    }
  },
  getters: {
    newVal: (parState, getters) => { //parState这个是参数,是vuex调用时传的state对象.getters同样可以调用getters.state.count
      parState.count = 888;
      return parState.count;
    }
  }, actions: {
    increment (context, par1) {//传入参数
      context.commit('increment', par1)  //store.dispatch('increment')
    }
  }
})

function getUserInfo (state) {
  if (state.userInfo) return state.userInfo;
  let userInfo = sessionStorage.getItem(keys.USER);
  if (userInfo) {
    state.userInfo = JSON.parse(userInfo);
  }
  return state.userInfo;
}
//getter 相当于 state 的计算属性，mutation 是用来修改 state 的
//使用actions或mutation获取不了state对象
const keys = { USER: 'user' }
const key = { sessionStorageUSER: "sessionStorageUSER" };
//因为分了模块所有属性调试方法都需要加上this.$store.system(system为模块名称)
const system = {
  state: {
    permission: [],
    isLoading: false,//2020.06.03增加路由切换时加载提示
    userInfo: null
  },
  mutations: {
    setPermission (state, data) {  //调用方式 this.$store.commit('setPermission', data)
      if (!data || typeof data != 'object') return;
      if (data instanceof Array) {
        state.permission.push(...data);
      } else {
        state.permission = data;
      }
    }, setUserInfo (state, data) {
      state.userInfo = data;
      sessionStorage.setItem(keys.USER, JSON.stringify(data));
      sessionStorage.setItem(key.sessionStorageUSER, JSON.stringify(data));
    },
    clearUserInfo (state) {
      state.permission = [];
      state.userInfo = null;
      sessionStorage.removeItem(keys.USER);
      sessionStorage.removeItem(keys.sessionStorageUSER);
    },
    test (state) {
      return 113344;
    },
    updateLoadingState (state, flag) {
      state.isLoading = flag
    }
  }, getters: {
    getPermission: (state) => (path) => {  //调用方式 store.getters.getPermission('sys_User')
      if (!path) return state.permission;
      return state.permission.find(x => x.path == path);
    },
    getUserInfo: (state) => () => {
      getUserInfo(state);
      return state.userInfo;
    }, getUserName: (state) => () => {
      getUserInfo(state);
      if (state.userInfo) {
        return state.userInfo.userName;
      }
      return '未获取到登陆信息';
    },
    getToken: (state) => () => {
      getUserInfo(state);
      if (state.userInfo) {
        return 'Bearer ' + state.userInfo.token;
      }
      return '';
    },
    isLogin: (state) => () => {
      if (getUserInfo(state)) {
        return true;
      }
      return false;
    },
    isLoading: (state) => () => {
      return state.isLoading;
    }

  }, actions: {
    setPermission (context, data) {
      context.commit('setPermission', data); //调用方式 store.dispatch('push')
    },
    toDo (context) {
      return context.Store.m;
    },
    onLoading (context, flag) {
      context.commit("updateLoadingState", flag);
    }
  }
};
import data from './data.js'
import hallSeat from './hallSeat.js'
const store = new Vuex.Store({
  modules: {   //分成多个模块
    system,//this.$store.state.system
    data,
    hallSeat
  }
})
export default store;
